-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
libvirt: use host-passthrough CPU type for libvirt VMs #977
libvirt: use host-passthrough CPU type for libvirt VMs #977
Conversation
Hi @mykaul. Thanks for your PR. I'm waiting for a openshift member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Looks reasonable to me. |
can we keep these changes in two separate commits? |
@abhinavdahiya - I guess we can have them in two commits, not sure it's worth the effort though. "host-passthrough" - this causes libvirt to tell KVM to passthrough the host CPU with no modifications. The difference to host-model, instead of just matching feature flags, every last detail of the host CPU is matched. This gives absolutely best performance, and can be important to some apps which check low level CPU details, but it comes at a cost wrt migration. The guest can only be migrated to an exactly matching host CPU. |
One useful thing for example is this guarantees that if the host has RDRAND so does the guest. |
2e6346d
to
51b497d
Compare
I've left out the virtio console part (it's less important), and just have the host-passthrough CPU type. |
51b497d has the commit title Also you can include
in commit message body (https://github.com/openshift/installer/blob/master/CONTRIBUTING.md#commit-message-format) Thanks! 😇 |
51b497d
to
4de101c
Compare
Updated. |
/ok-to-test |
Why is this just for the bootstrap node, and not for the master domains too? Also, if this is something folks want to set on libvirt, does it make sense to add it to the cluster-API provider too, either as a configurable or hard-coded setting? |
@wking - it should be for the master node as well! Will add. |
For both bootstrap and master VMs. Should be slightly faster, I hope. From https://wiki.openstack.org/wiki/LibvirtXMLCPUModel : "host-passthrough" - this causes libvirt to tell KVM to passthrough the host CPU with no modifications. The difference to host-model, instead of just matching feature flags, every last detail of the host CPU is matched. This gives absolutely best performance, and can be important to some apps which check low level CPU details, but it comes at a cost wrt migration. The guest can only be migrated to an exactly matching host CPU.
4de101c
to
529114a
Compare
The libvirt provider is in charge of creating nodes to fulfil machine and machine-set configuration. At the moment, that means it creates the worker nodes to fulfil the worker machine-set. Eventually it may also be in charge of creating master nodes (if we work out a way to handle etcd bootstrapping and new-master joining). #792 is also related to this, using the cluster-API machine configurations to figure out the Terraform configuration. |
/lgtm This looks fine for now. We can sort out the actuator stuff later. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: crawford, mykaul The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
libvirt: use host-passthrough CPU type
Should be slightly faster, I hope.
From https://wiki.openstack.org/wiki/LibvirtXMLCPUModel :
host-passthrough" - this causes libvirt to tell KVM to passthrough the host CPU with no modifications.
The difference to host-model, instead of just matching feature flags, every last detail of the host CPU is matched.
This gives absolutely best performance, and can be important to some apps which check low level CPU details, but it comes at a cost wrt migration.
The guest can only be migrated to an exactly matching host CPU.